PHPのType Declaration
型は明示しているだけで、異なった値を与えてもエラーにはならない
strict_typesを使用しない場合は暗黙のcastが行われる
型の種類
bool, int, float, string, array, object
iterable
self, parent
任意のクラスおよびインターフェイス名
?type
nullable
e.g. ?int, ?string
Undefined typeというエラーはなに?
SymfonyをDockerで動かしてるからかなmrsekut.icon
vendorディレクトリをsyncしてなかったからだった
Stubを追加するなどもあるらしい
型宣言は実行時に影響がある
GPT-4.icon
union types
v8.0以降
code:php
function processInput(int|string $input): void {}
null許容型
code:php
function getUserName(?int $userId): ?string {}
配列型
array
v8.1からiterableを使える
genricsの表現ができる?
callable型
code:php
function executeCallback(callable $callback): void {
$callback();
}